package concursos.daos;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.TypedQuery;

import concursos.modelos.TipoArquivo;


public class TipoArquivoDAO {
	
	private EntityManager manager;

	public TipoArquivoDAO(EntityManager manager) {
		this.manager = manager;
	}

	public void adicionarTipoArquivo(TipoArquivo tipoArquivo) {
		if (tipoArquivo.getId() == 0)
			this.manager.persist(tipoArquivo);
		else
		{
			System.out.println("Atualizando tipoArquivo...");
			TipoArquivo temp = this.manager.find(TipoArquivo.class, tipoArquivo.getId());
			temp.setNome(tipoArquivo.getNome());
			this.manager.merge(tipoArquivo);
		}
		
	}

	public void removerTipoArquivo(TipoArquivo tipoArquivo) {
		this.manager.remove(manager.getReference(TipoArquivo.class,
				tipoArquivo.getId()));
	}

	public List<TipoArquivo> listarTiposArquivos(int usuario) {
		TypedQuery<TipoArquivo> query = this.manager.createQuery(
				"select x from TipoArquivo x where x.usuario.id = :usuario",
				TipoArquivo.class);

		query.setParameter("usuario", usuario);

		return query.getResultList();
	}

	public TipoArquivo buscarTipoArquivo(int id) {
		TipoArquivo tipoArquivo = this.manager.find(TipoArquivo.class, id);
		return tipoArquivo;
	}
	
	public void atualizarTipoArquivo(TipoArquivo tipoArquivo) {
		
	}


}
